The field of the invention is programmable controllers, and particularly, microprocessor-based programmable controllers such as those disclosed in U.S. Pat. No. 4,165,534 entitled "Digital Control System with Boolean Processor," U.S. Pat. No. 4,282,584 entitled "Mini-Programmable Controller," and U.S. Pat. No. 4,266,281 entitled "Microprogrammed Programmable Controller."
Since their inception, programmable controllers have been clearly distinguishable from other programmable processors by their instruction set which is tailored to meet the specific needs of the control engineer. This instruction set provides a language which is easily understood and used by those who have heretofore designed systems of relays, switches and motors using ladder diagrams. Not only are programmable controller processors, such as those described above, designed to execute this special purpose instruction set, but program loaders such as those disclosed in U.S. Pat. Nos. 3,798,612; 3,813,649; and 4,070,702 have been developed to facilitate the loading and editing of control programs using this instruction set.
The programmable controller and its instruction set are particularly well suited to interface with industrial equipment. The input modules which receive signals from the industrial environment provide considerable noise immunity and high voltage isolation. The logic state of such inputs are examined once during each scan through the user's control program to provide up-to-date information on the state of high speed sensing devices connected to the input module. Where large numbers of sensing devices are employed, the cost of the input modules and supporting I/O rack is a large share of the total system cost. The same is true of output modules.
One effort to reduce the cost of the I/O interface circuiting is to provide an intelligent I/O module which can transfer "blocks" of I/O data through one I/O slot. Such an intelligent I/O module is disclosed in U.S. Pat. No. 4,293,924, entitled "Programmable Controller With High Density Intelligent I/O Interface," and it is particularly effective for providing high density analog-to-digital and digital-to-analog I/O ports. Another proposed solution is disclosed in U.S. Pat. No. 4,360,913, entitled "Multiplexing I/O Module." This module multiplexes a "bank" of I/O devices through a single programmable controller I/O slot with a minimum of circuitry. This module is particularly effective for inputting 4-bit BCD codes from thumbwheel switches commonly found on industrial equipment.
While a number of high density I/O modules are available, their use has been limited due to the complexity of the user control program required to operate them. Typically, the data for such an I/O module is placed in a designated file within the controller processor's memory, and the file handling facilities of the controller are employed to manipulate this data. Such file handling capabilities are disclosed in co-pending U.S. patent application Ser. No. 328,428, filed on Dec. 7, 1981 and entitled "Programmable Controller With Multiple Functions." These facilities are word oriented, and even then, the user is faced with a challenging programming job.